﻿using Sustainalytics.Entities;
using System;
using System.Collections.Generic;

namespace Sustainalytics.DataLayer
{
    public interface IFilterCriteriaRepository
    {
        FilterCriteria GetFilterCriteriaById(Guid filterCriteriaId);
        List<FilterCriteria> GetFilterCriteriaGroupByFilterGroupId(Guid filterGroupId);
        List<FilterCriteria> GetAllFilterCriteriaByFilterId(Guid filterId);

        List<FilterCriteria> GetFilterCriteriaGroup(Guid filterId, Guid criteriaLevel2Id, Guid criteriaLevel3Id);

        void DeleteFilterCriteria(Guid criteriaId);
        void DeleteAllFilterCriteriaByFilterId(Guid filterId);
        void DeleteFilterCriteriaByIdTemplateIdAndFilterId(Guid templateCriteriaId, Guid filterId);
        void DeleteFilterCriteriaByFilterGroupId(Guid filterId, Guid filterGroupId);
    }
}
